package com.itmuch.box.domain.member.entity;
// Generated 2016-1-6 19:11:13 by Hibernate Tools 4.3.1.Final

import static javax.persistence.GenerationType.IDENTITY;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import com.itmuch.box.core.base.BaseEntity;

/**
 * Member generated by hbm2java
 */
@Entity
@Table(name = "f_member", catalog = "yayi_spring_boot", uniqueConstraints = { @UniqueConstraint(columnNames = "username"),
        @UniqueConstraint(columnNames = "email") })
@DynamicInsert
@DynamicUpdate
public class Member extends BaseEntity {

    private Integer id;
    private String username;
    private String mobile;
    private String email;
    private String password;
    private String face;
    private String name;
    private String nation;
    private String originPlace;
    private String homeAddress;
    private Date birthday;
    private Byte sex;
    private String sign;
    private Byte bindMobileFlag;
    private Byte bindEmailFlag;
    private Byte status;
    private String regIp;
    private Date regTime;
    private Date createTime;
    private Date updateTime;
    private Integer createId;
    private Integer updateId;

    public Member() {
    }

    public Member(String username, String mobile, String email, String password, String face, String name, String nation, String originPlace,
            String homeAddress, Date birthday, Byte sex, String sign, Byte bindMobileFlag, Byte bindEmailFlag, Byte status, String regIp,
            Date regTime, Date createTime, Date updateTime, Integer createId, Integer updateId) {
        this.username = username;
        this.mobile = mobile;
        this.email = email;
        this.password = password;
        this.face = face;
        this.name = name;
        this.nation = nation;
        this.originPlace = originPlace;
        this.homeAddress = homeAddress;
        this.birthday = birthday;
        this.sex = sex;
        this.sign = sign;
        this.bindMobileFlag = bindMobileFlag;
        this.bindEmailFlag = bindEmailFlag;
        this.status = status;
        this.regIp = regIp;
        this.regTime = regTime;
        this.createTime = createTime;
        this.updateTime = updateTime;
        this.createId = createId;
        this.updateId = updateId;
    }

    @Override
    @Id
    @GeneratedValue(strategy = IDENTITY)

    @Column(name = "id", unique = true, nullable = false)
    public Integer getId() {
        return this.id;
    }

    @Override
    public void setId(Integer id) {
        this.id = id;
    }

    @Column(name = "username", unique = true, nullable = false, length = 50)
    public String getUsername() {
        return this.username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    @Column(name = "mobile", nullable = false, length = 15)
    public String getMobile() {
        return this.mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    @Column(name = "email", unique = true, nullable = false, length = 50)
    public String getEmail() {
        return this.email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Column(name = "password", nullable = false)
    public String getPassword() {
        return this.password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Column(name = "face", nullable = false)
    public String getFace() {
        return this.face;
    }

    public void setFace(String face) {
        this.face = face;
    }

    @Column(name = "name", nullable = false, length = 20)
    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Column(name = "nation", nullable = false, length = 20)
    public String getNation() {
        return this.nation;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }

    @Column(name = "origin_place", nullable = false, length = 40)
    public String getOriginPlace() {
        return this.originPlace;
    }

    public void setOriginPlace(String originPlace) {
        this.originPlace = originPlace;
    }

    @Column(name = "home_address", nullable = false, length = 40)
    public String getHomeAddress() {
        return this.homeAddress;
    }

    public void setHomeAddress(String homeAddress) {
        this.homeAddress = homeAddress;
    }

    @Temporal(TemporalType.DATE)
    @Column(name = "birthday", nullable = false, length = 0)
    public Date getBirthday() {
        return this.birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    @Column(name = "sex", nullable = false)
    public Byte getSex() {
        return this.sex;
    }

    public void setSex(Byte sex) {
        this.sex = sex;
    }

    @Column(name = "sign", nullable = false, length = 25)
    public String getSign() {
        return this.sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    @Column(name = "bind_mobile_flag", nullable = false)
    public Byte getBindMobileFlag() {
        return this.bindMobileFlag;
    }

    public void setBindMobileFlag(Byte bindMobileFlag) {
        this.bindMobileFlag = bindMobileFlag;
    }

    @Column(name = "bind_email_flag", nullable = false)
    public Byte getBindEmailFlag() {
        return this.bindEmailFlag;
    }

    public void setBindEmailFlag(Byte bindEmailFlag) {
        this.bindEmailFlag = bindEmailFlag;
    }

    @Column(name = "status", nullable = false)
    public Byte getStatus() {
        return this.status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }

    @Column(name = "reg_ip", nullable = false, length = 20)
    public String getRegIp() {
        return this.regIp;
    }

    public void setRegIp(String regIp) {
        this.regIp = regIp;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "reg_time", nullable = false, length = 0)
    public Date getRegTime() {
        return this.regTime;
    }

    public void setRegTime(Date regTime) {
        this.regTime = regTime;
    }

    @Override
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "create_time", nullable = false, length = 0)
    public Date getCreateTime() {
        return this.createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "update_time", nullable = false, length = 0)
    public Date getUpdateTime() {
        return this.updateTime;
    }

    @Override
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    @Column(name = "create_id", nullable = false)
    public Integer getCreateId() {
        return this.createId;
    }

    @Override
    public void setCreateId(Integer createId) {
        this.createId = createId;
    }

    @Override
    @Column(name = "update_id", nullable = false)
    public Integer getUpdateId() {
        return this.updateId;
    }

    @Override
    public void setUpdateId(Integer updateId) {
        this.updateId = updateId;
    }

}
